每日立會是敏捷開發方法中常見的實踐,在 Scrum 裡稱之為 Daily Scrum。
它可以說是一個最簡單的活動(只有 15 分鐘),但也可以說是最難做好的活動。
難的原因在於容易誤解其目的,導致這樣的活動最後多會淪為「訊息擴散」的場域,甚至只是形式上「口頭報告」的死板對話。
也曾遇過團隊將 Daily Scrum 稱為 Daily Sync,那也就怪不得只會著重在資訊的擴散。
對我來說:
若是有學過 Kanban,那就會知道「流動」的重要性,Kanban 核心的三個原則為視覺化、限制 WIP、管理流動。流動正是其中之一。
在價值的交付上,我們應該關注的如何縮減從動工到開始有價值的時間。因此讓工作進度不被阻礙、卡住是很重要的。因此每日立會的重點更著重在如何協助工作順暢流動。
正如在大隊接力競賽中,我們應該關注的是接力棒(工作項目),而不是運動員(開發者)。我們在每日立會該思考的事情是如何讓一個待辦項目從進行中轉移到完成,進而開始發揮價值。
為了讓我們去檢視流動,當然也需要將資訊透明,擴散出來。但要記住,資訊的擴散只是在於協助我們發現卡住、或不對勁的地方,而不是在於要將每份知識都讓每人知道、或認同。當檢視到需要幫忙的地方時,迅速做出一些調整,並在每日立會發生,讓事情重新流動起來,才是每日立會想要的成果。
如果團隊已經透過 Mob Programming 和 Pair Programming 或其他資訊,非常及時地在交換資訊與排除障礙,讓事情快速流動到完成,那每日立會的目的就算是有被觸及,不需要為了開而開的再次將資訊講一次。
反過來說,如果團隊總是在每日立會時,才在同步許多資訊,那應該思考的是這些資訊為什麼總是要到每日立會才有辦法擴散出來,是不是團隊的溝通出現了什麼壞味道。
當我們在反思到底每日立會到底做得好還是不好時,可以先問問自己,現在團隊到底是關注在資訊、還是關注在流動,就可以很簡單的回答這個提問。